home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
PROGRAMMING
/
DESKLIBC
/
SOURCES.ZIP
/
DeskLib
/
!DLSources
/
Libraries
/
Pane2
/
c
/
Delete
< prev
next >
Wrap
Text File
|
1995-08-23
|
2KB
|
83 lines
/*
#### # # # #
# # # # # The FreeWare C library for
# # ## ### # # # # ### RISC OS machines
# # # # # # # # # # # ___________________________________
# # #### ### ## # # # #
# # # # # # # # # # Please refer to the accompanying
#### ### #### # # ##### # ### documentation for conditions of use
________________________________________________________________________
File: Pane2.Delete.c
Author: Copyright © 1995 Andrew Sellors.
Version: 1.04 (4th August 1995)
Purpose: Handles windows with panes.
*/
#include "DeskLib:Pane2.h"
#include "Pane2Defs.h"
#include "Desklib:Event.h"
#include "DeskLib:Template.h"
#include "Desklib:EventMsg.h"
#include "Desklib:Error.h"
#include <stdlib.h>
/******************************************************************************/
extern void Pane2_Delete(window_handle mainwindow)
{
/*
* This hides and deletes the window 'mainwindow' and all it's panes
* Use in the same manner to Window_Delete
*/
main_listelement *mainelement;
pane_listelement *paneelement;
/*
* find element for main window and return if mainwindow not present
*/
mainelement = FindMainWindow(mainwindow);
if(mainelement == NULL)
return; /* not found */
/*
* delete main window
*/
Window_Delete(mainelement->mainwindow);
/*
* delete all panes belonging to the main window
*/
/*
* find first pane window
*/
paneelement = LinkList_FirstItem(&(mainelement->paneanchor));
while(paneelement != NULL){
Window_Delete(paneelement->panewindow);
/*
* remove pane element from list and free memory used by it
*/
LinkList_Unlink(&(mainelement->paneanchor), &(paneelement->header));
free(paneelement);
/*
* find next pane window
*/
paneelement = LinkList_FirstItem(&(mainelement->paneanchor));
}
/*
* remove main window element from list and free memory used by it
*/
LinkList_Unlink(&main_anchor, &(mainelement->header));
free(mainelement);
}